assert()函数用法总结

  • assert宏的原型定义在<assert.h>中,如果它的条件返回错误,则终止程序执行:

    1
    2
    #include <assert.h>
    void assert(int expression);

    assert的作用是计算表达式expression,如果其值为假(0),那么向stderr打印出一条出错信息,然后调用abort来终止程序执行。

  • 在调试结束后,可以通过在包含#include<assert.h> 的语句之前插入#define NDEBUG来禁用assert调用

  • 一个非常简单的使用assert的规律就是:在方法或者函数的最开始使用,如果在方法的中间使用则需要慎重考虑是否是应该的,方法的最开始还没有开始一个功能过程,在一个功能过程执行中出现的问题几乎都是异常。